Skip to content

Backport to 2.29.x: #10175: Prune real-time branch of deep hierarchical caggs - #10328

Merged
timescale-automation merged 1 commit into
2.29.xfrom
backport/2.29.x/10175
Jul 27, 2026
Merged

Backport to 2.29.x: #10175: Prune real-time branch of deep hierarchical caggs#10328
timescale-automation merged 1 commit into
2.29.xfrom
backport/2.29.x/10175

Conversation

@timescale-automation

Copy link
Copy Markdown
Member

This is an automated backport of #10175: Prune real-time branch of deep hierarchical caggs.
The original issue is #10071.
This PR will be merged automatically after all the relevant CI checks pass. If this fix should not be backported, or will be backported manually, just close this PR. You can use the backport branch to add your changes, it won't be modified automatically anymore.

For more details, please see the documentation

Original description

Prune real-time branch of deep hierarchical caggs

A single application of ts_transform_time_bucket_comparison() strips
only the outermost time_bucket() from a comparison. In a hierarchical
continuous aggregate the bucket input is itself another time_bucket()
call. The real-time branch could not be proven empty and the refresh
re-scanned the whole raw un-materialized tail of the base hypertable.

Add ts_transform_nested_time_bucket_comparison(), which applies the
single-level transform repeatedly until the bound is expressed on the
raw column. Only the original qual and the fully reduced qual are kept;
the intermediate levels have no consumer.

Fixes: #10071

A single application of ts_transform_time_bucket_comparison() strips
only the outermost time_bucket() from a comparison. In a hierarchical
continuous aggregate the bucket input is itself another time_bucket()
call. The real-time branch could not be proven empty and the refresh
re-scanned the whole raw un-materialized tail of the base hypertable.

Add ts_transform_nested_time_bucket_comparison(), which applies the
single-level transform repeatedly until the bound is expressed on the
raw column. Only the original qual and the fully reduced qual are kept;
the intermediate levels have no consumer.

Fixes: #10071
(cherry picked from commit 5ebc0fa)
@codecov

codecov Bot commented Jul 27, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@timescale-automation
timescale-automation merged commit 69ef2af into 2.29.x Jul 27, 2026
63 of 64 checks passed
@timescale-automation
timescale-automation deleted the backport/2.29.x/10175 branch July 27, 2026 08:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

is-auto-backport PR created by backport automation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants